﻿namespace CandidateManager.ViewsParams
{
    /// <summary>
    /// The generic post params.
    /// </summary>
    public sealed class GenericPostParams : GenericBaseParams
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="GenericPostParams"/> class.
        /// </summary>
        /// <param name="propertiesToDisplay">
        /// The names of properties which must be displayed.
        /// </param>
        /// <param name="controllerName">
        /// The controller name.
        /// </param>
        /// <param name="actionName">
        /// The post action name.
        /// </param>
        /// <param name="listActionName">
        /// The list action name.
        /// </param>
        public GenericPostParams(
            string[] propertiesToDisplay,
            string controllerName,
            string actionName,
            string listActionName)
        {
            PropertiesToDisplay = propertiesToDisplay;
            ControllerName = controllerName;
            ActionName = actionName;
            ListActionName = listActionName;
        }

        /// <summary>
        /// Prevents a default instance of the <see cref="GenericPostParams"/> class from being created.
        /// </summary>
        private GenericPostParams()
        {
        }

        /// <summary>
        /// Gets or sets the post action name.
        /// </summary>
        public string ActionName { get; set; }

        /// <summary>
        /// Gets or sets the list action name.
        /// </summary>
        public string ListActionName { get; set; }
    }
}
